package com.yunsc.product.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yunsc.common.serializer.TimestampToDateSerializer;
import lombok.Data;

import java.io.Serializable;

/**
 * 商品记录表
 * 
 * @author adan
 * @email 2028038953@qq.com
 * @date 2024-04-22 11:35:48
 */
@Data
@TableName("yunsc_goods")
public class YunscGoodsEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 商品ID
	 */
	@TableId
	private Integer goodsId;
	/**
	 * 商品类型(10实物商品)
	 */
	private Integer goodsType;
	/**
	 * 商品名称
	 */
	private String goodsName;
	/**
	 * 商品编码
	 */
	private String goodsNo;
	/**
	 * 主图视频ID
	 */
	private Integer videoId;
	/**
	 * 主图视频ID
	 */
	private Integer videoCoverId;
	/**
	 * 商品卖点
	 */
	private String sellingPoint;
	/**
	 * 商品规格(10单规格 20多规格)
	 */
	private Integer specType;
	/**
	 * 商品价格(最低)
	 */
	private String goodsPriceMin;
	/**
	 * 商品价格(最高)
	 */
	private String goodsPriceMax;
	/**
	 * 划线价格(最低)
	 */
	private String linePriceMin;
	/**
	 * 划线价格(最高)
	 */
	private String linePriceMax;
	/**
	 * 库存总量(包含所有sku)
	 */
	private Integer stockTotal;
	/**
	 * 库存计算方式(10下单减库存 20付款减库存)
	 */
	private Integer deductStockType;
	/**
	 * 是否开启限购(0未开启 1已开启)
	 */
	private Integer isRestrict;
	/**
	 * 总限购数量(0为不限制)
	 */
	private Integer restrictTotal;
	/**
	 * 每单限购数量(0为不限制)
	 */
	private Integer restrictSingle;
	/**
	 * 商品详情
	 */
	private String content;
	/**
	 * 初始销量
	 */
	private Integer salesInitial;
	/**
	 * 实际销量
	 */
	private Integer salesActual;
	/**
	 * 配送模板ID
	 */
	private Integer deliveryId;
	/**
	 * 是否开启积分赠送(1开启 0关闭)
	 */
	private Integer isPointsGift;
	/**
	 * 是否允许使用积分抵扣(1允许 0不允许)
	 */
	private Integer isPointsDiscount;
	/**
	 * 积分抵扣设置(0默认抵扣 1单独设置抵扣)
	 */
	private Integer isAlonePointsDiscount;
	/**
	 * 单独设置积分抵扣的配置
	 */
	private String pointsDiscountConfig;
	/**
	 * 是否开启会员折扣(1开启 0关闭)
	 */
	private Integer isEnableGrade;
	/**
	 * 会员折扣设置(0默认等级折扣 1单独设置折扣)
	 */
	private Integer isAloneGrade;
	/**
	 * 单独设置折扣的配置
	 */
	private String aloneGradeEquity;
	/**
	 * 是否单独设置配送方式(0关闭 1开启)
	 */
	private Integer isIndDeliveryType;
	/**
	 * 商品配送方式(仅单独设置时有效)
	 */
	private String deliveryType;
	/**
	 * 商品状态(10上架 20下架)
	 */
	private Integer status;
	/**
	 * 排序(数字越小越靠前)
	 */
	private Integer sort;
	/**
	 * 是否删除
	 */
	private Integer isDelete;
	/**
	 * 商城ID
	 */
	private Integer storeId;
	/**
	 * 创建时间
	 */
	@TableField(fill = FieldFill.INSERT)
	@JsonSerialize(using = TimestampToDateSerializer.class)
	private Integer createTime;
	/**
	 * 更新时间
	 */
	@TableField(fill = FieldFill.INSERT_UPDATE)
	@JsonSerialize(using = TimestampToDateSerializer.class)
	private Integer updateTime;

}
